//链接：https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6?tpId=308&tqId=40490&ru=/exam/oj

#include <iostream>
#include <algorithm>
using namespace std;
const int N=2e5+10;
int a[N];
int main() {
    int n,k;
    cin >> n >> k;
    for(int i=0;i<n;i++)
    {
        cin >> a[i];
    }
    sort(a,a+n);
    int left=0;
    int right=0;
    int sum=0;
    for(left=0;left<n;left++)
    {
        while(right<n&&(a[right]-a[left])<=k){
            right++;
        }
        sum=max(sum,right-left);
    }
    cout << sum;
    return 0;
}相差不超过k的最多数